package com.ys.entity.purchase;
import java.math.BigDecimal;
import java.util.Date;
import javax.persistence.Table;
import com.alibaba.fastjson.annotation.JSONField;
import com.ys.annotation.YsField;
import com.ys.entity.base.BaseEntity;
/**
*/
@Table(name="TCG_InvoiceOffsetItem", catalog="Id")
public class TcgInvoiceOffsetItem extends BaseEntity<TcgInvoiceOffsetItem> {

	@YsField(nameDataBase="Id", nameJava="id", typeDataBase="bigint")
	private Long id;
	@YsField(nameDataBase="Pbid", nameJava="pbid", typeDataBase="varchar")
	private String pbid;
	@YsField(nameDataBase="PurchaseContractItemId", nameJava="purchaseContractItemId", typeDataBase="bigint")
	private Long purchaseContractItemId;
	@YsField(nameDataBase="InvoiceModelNo", nameJava="invoiceModelNo", typeDataBase="varchar")
	private String invoiceModelNo;
	@YsField(nameDataBase="InvoiceName", nameJava="invoiceName", typeDataBase="varchar")
	private String invoiceName;
	@YsField(nameDataBase="OffsetNum", nameJava="offsetNum", typeDataBase="int")
	private Integer offsetNum;
	@YsField(nameDataBase="OffsetAmount", nameJava="offsetAmount", typeDataBase="decimal")
	private BigDecimal offsetAmount;
	@YsField(nameDataBase="CustomsNum", nameJava="customsNum", typeDataBase="tinyint")
	private Integer customsNum;
	@YsField(nameDataBase="CustomsState", nameJava="customsState", typeDataBase="tinyint")
	private Integer customsState;
	@YsField(nameDataBase="Status", nameJava="status", typeDataBase="tinyint")
	private Integer status;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="CreateTime", nameJava="createTime", typeDataBase="datetime")
	private Date createTime;
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	@YsField(nameDataBase="UpdateTime", nameJava="updateTime", typeDataBase="datetime")
	private Date updateTime;

	public Long getId() {
		return id;
	}
	public TcgInvoiceOffsetItem setId(Long id) {
		this.id = id;
		return this;
	}
	public String getPbid() {
		return pbid;
	}
	public TcgInvoiceOffsetItem setPbid(String pbid) {
		this.pbid = pbid;
		return this;
	}
	public Long getPurchaseContractItemId() {
		return purchaseContractItemId;
	}
	public TcgInvoiceOffsetItem setPurchaseContractItemId(Long purchaseContractItemId) {
		this.purchaseContractItemId = purchaseContractItemId;
		return this;
	}
	public String getInvoiceModelNo() {
		return invoiceModelNo;
	}
	public TcgInvoiceOffsetItem setInvoiceModelNo(String invoiceModelNo) {
		this.invoiceModelNo = invoiceModelNo;
		return this;
	}
	public String getInvoiceName() {
		return invoiceName;
	}
	public TcgInvoiceOffsetItem setInvoiceName(String invoiceName) {
		this.invoiceName = invoiceName;
		return this;
	}
	public Integer getOffsetNum() {
		return offsetNum;
	}
	public TcgInvoiceOffsetItem setOffsetNum(Integer offsetNum) {
		this.offsetNum = offsetNum;
		return this;
	}
	public BigDecimal getOffsetAmount() {
		return offsetAmount;
	}
	public TcgInvoiceOffsetItem setOffsetAmount(BigDecimal offsetAmount) {
		this.offsetAmount = offsetAmount;
		return this;
	}
	public Integer getCustomsNum() {
		return customsNum;
	}
	public TcgInvoiceOffsetItem setCustomsNum(Integer customsNum) {
		this.customsNum = customsNum;
		return this;
	}
	public Integer getCustomsState() {
		return customsState;
	}
	public TcgInvoiceOffsetItem setCustomsState(Integer customsState) {
		this.customsState = customsState;
		return this;
	}
	public Integer getStatus() {
		return status;
	}
	public TcgInvoiceOffsetItem setStatus(Integer status) {
		this.status = status;
		return this;
	}
	public Date getCreateTime() {
		return createTime;
	}
	public TcgInvoiceOffsetItem setCreateTime(Date createTime) {
		this.createTime = createTime;
		return this;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public TcgInvoiceOffsetItem setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
		return this;
	}

	public static TcgInvoiceOffsetItem tcgInvoiceOffsetItem(
		String pbid,
		Long purchaseContractItemId,
		String invoiceModelNo,
		String invoiceName,
		Integer offsetNum,
		BigDecimal offsetAmount,
		Integer customsNum,
		Integer customsState,
		Integer status
			) {
		TcgInvoiceOffsetItem entity = new TcgInvoiceOffsetItem();
		entity.setPbid(pbid);
		entity.setPurchaseContractItemId(purchaseContractItemId);
		entity.setInvoiceModelNo(invoiceModelNo);
		entity.setInvoiceName(invoiceName);
		entity.setOffsetNum(offsetNum);
		entity.setOffsetAmount(offsetAmount);
		entity.setCustomsNum(customsNum);
		entity.setCustomsState(customsState);
		entity.setStatus(status);
		return entity;
	}
}